import os
from dotenv import load_dotenv
load_dotenv()

TORTOISE_ORM = {
    "connections": {
        "default": {
            'engine': 'tortoise.backends.mysql',
            'credentials': {
                'host': os.environ.get('DB_HOST', '127.0.0.1'),
                'port': int(os.environ.get('DB_PORT', 3306)),
                'user': os.environ.get('DB_USER', 'root'),
                'password': os.environ.get('DB_PASSWORD', '123456'),
                'database': os.environ.get('DB_DATABASE', 'fastchat'),
                'charset': os.environ.get('DB_CHARSET', 'utf8mb4'),
                'minsize': int(os.environ.get('DB_POOL_MINSIZE', 1)),
                'maxsize': int(os.environ.get('DB_POOL_MAXSIZE', 5)),
                "echo": bool(os.environ.get('DEBUG', True))
            }
        }
    },
    'apps': {
        'models': {
            'models': ['application.apps.users.models', 'application.apps.chat.models', 'aerich.models'],
            'default_connection': 'default',
        }
    },

    'use_tz': False,
    'timezone': os.environ.get('APP_TIMEZONE', 'Asia/Shanghai')
}
SMS = {
    'length': os.environ.get('SMS_CODE_LENGTH', 4),
    'expire': int(os.environ.get('SMS_CODE_EXPIRED', 300))
}

ALIYUN = {
    # 'key': os.environ.get('ALIYUN_KEY_ID'),
    # 'secret': os.environ.get('ALIYUN_KEY_SECRET'),
    'sms': {
        'sign_name': os.environ.get('ALIYUN_VERIFY_SMS_SIGN_NAME', '阿里云短信测试'),
        'template_code': os.environ.get('ALIYUN_VERIFY_TEMPLATE_CODE', 'SMS_154950909'),
    }
}

WECHAT = {
    'app_id': os.environ.get('WECHAT_APP_ID',''),
    'app_secret': os.environ.get('WECHAT_APP_SECRET', '')
}

REDIS = {
    'host': os.environ.get('RD_HOST', '127.0.0.1'),
    'port': os.environ.get('RD_PORT', 6379),
    'db': os.environ.get('RD_DB', 0),
    'username': os.environ.get('RD_USERNAME', ''),
    'password': os.environ.get('RD_PASSWORD', '')
}

JWT = {
    'secret_key': os.environ.get('APP_SECRET'),
    'algorithm': "HS256",
    'expire_time': 30*60
}

DEEPSEEK = {
    'baseurl': os.environ.get('BASE_URL'),
    'apikey': os.environ.get('API_KEY'),
    'model': os.environ.get('MODEL')
}

